Mobile robot having friction coefficient estimation function and friction coefficient estimation method

ABSTRACT

A mobile robot configured to move on a ground. The mobile robot including a contact angle estimation unit estimating contact angles between wheels of the mobile robot and the ground and uncertainties associated with the contact angles, a traction force estimation unit estimating traction forces applied to the wheels and traction force uncertainties, a normal force estimation unit estimating normal forces applied to the wheels and normal force uncertainties, a friction coefficient estimation unit estimating friction coefficients between the wheels and the ground, a friction coefficient uncertainty estimation unit estimating friction coefficient uncertainties, and a controller determining the maximum friction coefficient from among the friction coefficients such that the maximum friction coefficient has an uncertainty less than a threshold and at a point of time when the torque applied to each of the wheels changes from an increasing state to a decreasing state, among the estimated friction coefficients.

CROSS-REFERENCE TO RELATED APPLICATION

This application claims the benefit of Korean Patent Application No. 2013-0080147, filed on Jul. 9, 2013 in the Korean Intellectual Property Office, the disclosure of which is incorporated herein by reference.

BACKGROUND

1. Field

Example embodiments relate to a mobile robot having a function of estimating friction coefficients between the ground and wheels while moving on a complicated 3D terrain and a friction coefficient estimation method.

2. Description of the Related Art

In general, mobile robots are used in various fields due to advances in the development of sensors and controllers for the robot. Examples of mobile robots include household robots, such as cleaning robots and security robots, inspection robots performing various operations in dangerous places or unknown places in place of a human, and reconnaissance robots are used.

To facilitate movement, a mobile robot may recognize the position thereof on a map, plan a path during a path planning process, and pass through a terrain to a target. During the path planning process, the mobile robot may need to determine whether or not the mobile robot may easily traverse through the terrain. Since traversability represents whether or not the mobile robot may pass along a path, path planning may be effectively optimized in consideration of traversability.

Such traversability may be influenced by friction coefficients between the ground and wheels. For example, as a friction coefficient between the ground upon which the mobile robot moves and a wheel increases, traversability may increase, and as the friction coefficient between the ground and the wheel decreases, traversability may decrease. When traversability increases, it is estimated that the mobile robot may easily pass through a terrain, and when traversability decreases, it is estimated that the mobile robot may not easily pass through the terrain. That is, more accurate estimation of movement of the mobile robot may be performed using friction coefficients between the ground and the wheels of the mobile robot.

SUMMARY

Example embodiments provide a mobile robot which may estimate the maximum friction coefficient between the ground of a complicated 3D terrain and wheels and a friction coefficient estimation method.

Additional aspects of the example embodiments will be set forth in part in the description which follows and, in part, will be obvious from the description, or may be learned by practice of the example embodiments.

In accordance with an example embodiment, a mobile robot includes a contact angle estimation unit estimating contact angles between wheels of the mobile robot and a ground and contact angle uncertainties, a traction force estimation unit estimating traction forces applied to the wheels and traction force uncertainties using state variables of the wheels, a normal force estimation unit estimating normal forces applied to the wheels and normal force uncertainties using the contact angles, the contact angle uncertainties, the traction forces, and joint pose information, a friction coefficient estimation unit estimating friction coefficients between the wheels and the ground using the estimated traction forces and the estimated normal forces, a friction coefficient uncertainty estimation unit estimating friction coefficient uncertainties using the traction forces, the traction force uncertainties, the normal forces, the normal force uncertainties, and the friction coefficients, and a controller determining the maximum friction coefficient as a friction coefficient having friction coefficient uncertainty less than a threshold and at a point of time when the torque applied to each of the wheels changes from an increasing state to a decreasing state, from among the friction coefficients estimated through the friction coefficient estimation unit.

In another example embodiment, a friction coefficient estimation method includes estimating contact angles between wheels of a mobile robot and a ground and contact angle uncertainties, detecting joint poses of the mobile robot and state variables of the wheels, estimating traction forces applied to the wheels and traction force uncertainties using the wheel state variables, estimating normal forces applied to the wheels and normal force uncertainties using the contact angles, the contact angle uncertainties, the joint poses, the traction forces, and the traction force uncertainties, estimating friction coefficients between the wheels and the ground using the traction forces and the normal forces, estimating friction coefficient uncertainties using the traction forces, the traction force uncertainties, the normal forces, the normal force uncertainties, and the friction coefficients, and determining the maximum friction coefficient as a friction coefficient having friction coefficient uncertainty less than a threshold and at a point of time when the torque applied to each of the wheels changes from an increasing state to a decreasing state, from among the estimated friction coefficients.

In one or more example embodiments, the mobile robot may include a moving unit configured to move the mobile robot with respect to the ground; and a controller configured to control a rate of acceleration and deceleration of the moving of the mobile robot based on a friction coefficient between the moving unit and the ground.

In one or more example embodiments, the friction coefficient is a maximum friction coefficient and controller is configured to estimate the maximum friction coefficient between the moving unit and the ground by, estimating friction coefficients and uncertainties associated therewith; selecting a plurality of the estimated friction coefficients whose corresponding uncertainties are less than a threshold; and selecting as the maximum friction coefficient the estimated friction coefficient that corresponds to a time when a torque applied to the moving unit changes from an increasing state to a decreasing state.

In one or more example embodiments, the moving unit includes wheels that are configured to transport the mobile robot through rotation of the wheels, and controller is configured to estimate the friction coefficients by, estimating contact angles between the wheels and the ground and uncertainties associated with the contact angles; estimating traction forces applied to the wheels and uncertainties associated with the traction forces using state variables of the wheels; estimating normal forces applied to the wheels and uncertainties associated with the normal forces using the contact angles, the contact angle uncertainties, the traction forces, and joint pose information; and estimating the friction coefficients between the wheels and the ground using the traction forces and the normal forces.

In one or more example embodiments, the controller is configured to estimate the contact angles using one of images acquired through cameras and force information detected by force sensors, and estimate the traction forces by applying the state variables of the wheels to a model of the wheels.

In one or more example embodiments, the state variables indicate at least an inertia, moment, torque, radius and angular velocity of the wheels.

BRIEF DESCRIPTION OF THE DRAWINGS

These and/or other aspects of the example embodiments will become apparent and more readily appreciated from the following description of the embodiments, taken in conjunction with the accompanying drawings of which:

FIG. 1 is a view illustrating an example of the external appearance of a mobile robot according to an example embodiment;

FIG. 2 is a block diagram illustrating an example of the internal configuration of a main body of the mobile robot according to an example embodiment;

FIG. 3 is a conceptual diagram schematically illustrating an example of the mobile robot having 1 wheels in a 2D structure according to an example embodiment;

FIG. 4 is a conceptual diagram illustrating single wheel modeling of the mobile robot according to an example embodiment;

FIG. 5 is a graph illustrating relations between estimated friction coefficients and friction coefficient uncertainties; and

FIG. 6 is a flowchart sequentially illustrating an example of a friction coefficient estimation method according to an example embodiment.

DETAILED DESCRIPTION

Reference will now be made in detail to embodiments, examples of which are illustrated in the accompanying drawings, wherein like reference numerals refer to like elements throughout. In the drawings, the same or similar elements are denoted by the same reference numerals even though they are depicted in different drawings. In the following description of the example embodiments, a detailed description of known functions and configurations incorporated herein will be omitted when it may make the subject matter rather unclear. In addition, terms in the following description, such as first, second, etc., are used to discriminate one element from other elements, but do not limit such elements.

Example embodiments will now be described more fully with reference to the accompanying drawings, in which some example embodiments are shown. In the drawings, the thicknesses of layers and regions are exaggerated for clarity. Like reference numerals in the drawings denote like elements.

Detailed illustrative embodiments are disclosed herein. However, specific structural and functional details disclosed herein are merely representative for purposes of describing example embodiments. Example embodiments may be embodied in many alternate forms and should not be construed as limited to only those set forth herein.

It should be understood, however, that there is no intent to limit this disclosure to the particular example embodiments disclosed. On the contrary, example embodiments are to cover all modifications, equivalents, and alternatives falling within the scope of the example embodiments. Like numbers refer to like elements throughout the description of the figures.

It will be understood that, although the terms first, second, etc. may be used herein to describe various elements, these elements should not be limited by these terms. These terms are only used to distinguish one element from another. For example, a first element could be termed a second element, and, similarly, a second element could be termed a first element, without departing from the scope of this disclosure. As used herein, the term “and/or,” includes any and all combinations of one or more of the associated listed items.

It will be understood that when an element is referred to as being “connected,” or “coupled,” to another element, it can be directly connected or coupled to the other element or intervening elements may be present. In contrast, when an element is referred to as being “directly connected,” or “directly coupled,” to another element, there are no intervening elements present. Other words used to describe the relationship between elements should be interpreted in a like fashion (e.g., “between,” versus “directly between,” “adjacent,” versus “directly adjacent,” etc.).

The terminology used herein is for the purpose of describing particular embodiments only and is not intended to be limiting. As used herein, the singular forms “a,” “an,” and “the,” are intended to include the plural forms as well, unless the context clearly indicates otherwise. It will be further understood that the terms “comprises,” “comprising,” “includes,” and/or “including,” when used herein, specify the presence of stated features, integers, steps, operations, elements, and/or components, but do not preclude the presence or addition of one or more other features, integers, steps, operations, elements, components, and/or groups thereof.

It should also be noted that in some alternative implementations, the functions/acts noted may occur out of the order noted in the figures. For example, two figures shown in succession may in fact be executed substantially concurrently or may sometimes be executed in the reverse order, depending upon the functionality/acts involved.

Various example embodiments will now be described more fully with reference to the accompanying drawings in which some example embodiments are shown. In the drawings, the thicknesses of layers and regions are exaggerated for clarity.

In the following description, a wheel-based mobile robot will be described, but example embodiments are not limited thereto.

FIG. 1 is a perspective view illustrating an example of the external appearance of a mobile robot in accordance with an example embodiment.

With reference to FIG. 1, the mobile robot may include an image acquisition unit 100, a main body 200, and moving units 300.

The image acquisition unit 100 acquires images of an external surrounding environment, and may employ cameras in this embodiment. The camera may be a charge coupled device (CCD) camera or a complementary metal-oxide semiconductor (CMOS) camera, but is not limited thereto.

Further, as shown in FIG. 1, manipulators 201, e.g., mechanical arms, may be mounted on the exterior of the main body 200. Although not shown in FIG. 1, a distance sensor may be provided on the exterior of the main body 200. The distance sensor may detect distance information regarding the surrounding environment. The distance sensor may employ an optical sensor, such as an ultrasound sensor, a laser sensor, or an infrared sensor, but is not limited thereto.

The moving units 300 move the mobile robot along a moving path, and may employ wheels but example embodiments are not limited thereto. That is, any device which may move the main body 200 may be used as the moving unit 200.

Hereinafter, the internal configuration of the main body 200 of the mobile robot will be described in detail.

FIG. 2 is a block diagram illustrating an example of the internal configuration of the main body of the mobile robot in accordance with an example embodiment and FIG. 3 is a conceptual diagram schematically illustrating an example of the mobile robot having l wheels in a 2D structure according to an example embodiment.

With reference to FIGS. 2 and 3, the mobile robot may include a contact angle estimation unit 210, joint pose detection units 220, wheel state variable detection units 230, a traction force estimation unit 240, a normal force estimation unit 250, a friction coefficient estimation unit 260, a friction coefficient uncertainty estimation unit 270, a torque detection unit 280, and a controller 290.

The contact angle estimation unit 210 estimates contact angles γ_(i) between the moving units 300 of the mobile robot, for example, the wheels 300 of the mobile robot, and the ground upon which the mobile robot moves. The contact angles γ_(i) between the wheels 300 and the ground are illustrated in FIG. 3. The number of contact angles γ_(i) estimated through the contact angle estimation unit 210 may correspond to the number of the wheels 300. Here, subscript i may denote identification numbers of the plural wheels 300. That is, the contact angle γ_(i) may be the contact angle of the i^(th) wheel with the ground.

As illustrated in FIG. 3, the directions of a normal force N and a traction force T_(i) of the wheel 300 may be determined using the contact angle γ_(i).

The contact angle estimation unit 210 may estimate the contact angle γ_(i) of the wheel 300 using speed information of the wheel 300, an image acquired through a camera mounted on the wheel 300, or force information detected through a force sensor mounted on the wheel 300, but is not limited thereto.

Further, the contact angle estimation unit 210 may estimate an uncertainty σ_(γ) _(i) of the contact angle γ_(i) simultaneously with estimation of the contact angle γ_(i).

The contact angle estimation unit 210 may provide the estimated contact angle γ_(i) and the contact angle uncertainty σ_(γ) _(i) to the normal force estimation unit 250.

The joint pose detection unit 220 detects pose information of respective joints of the mobile robot. The pose information may include joint angles and joint angular velocities. The joint angles and joint angular velocities detected through the joint pose detection units 220 may be utilized in performing normal force estimation which will be described later.

The joint pose detection unit 220 may be an inclinometer or an inertial measurement unit (IMU), but is not limited thereto. Further, the joint pose detection unit 220 may be provided on plural links as shown in FIG. 3, but is not limited thereto. Thereafter, the joint pose detection unit 220 may provide the detected pose information of the respective joints, e.g., the detected joint angles and joint angular velocities, to the normal force estimation unit 250.

The wheel state variable detection unit 230 may detect state variables of the moving units 300, e.g., the wheels of the mobile robot. The state variables may include torque, angular velocity, radius and inertia moment of the wheel 300. Here, the radius and inertia moment of the wheel 300 may be desired (or alternatively, predetermined) values and the torque and angular velocity of the wheel 300 may be measured through an encoder provided on the wheel 300, but are limited thereto. Thereafter, the state variables including the torque, the angular velocity, the radius and the inertia moment of the wheel 300, detected through the wheel state variable detection unit 230, may be provided to the traction force estimation unit 240.

The traction force estimation unit 240 may estimate the traction force T_(i) (with reference to FIG. 3) generated during rotation of the wheel of the mobile robot. Traction force T_(i) may be a propulsive force generated by friction between the wheel 300 and the ground.

The traction force estimation unit 240 may estimate traction force using the state variables of the wheel 300 detected through the above-described wheel state variable detection unit 230. This will be described using equations laid out below.

FIG. 4 is a conceptual diagram illustrating single wheel modeling of the mobile robot according to an example embodiment.

As illustrated in FIG. 4, the motion of a wheel 300 may be modeled through a motion equation, e.g. Equation 1. e.g. The motion equation, e.g., Equation 1, may be calculated by modeling the wheel 300 to which the normal force is applied in a direction N_(i), traction force is applied in a direction T_(i), and a torque of τ_(i) is provided, and which is rotated at an angular velocity of ω_(i).

J _(i){dot over (ω)}_(i)=τ_(i) −rT _(i) −B _(i)ω_(i) , T _(i)<μ_(s) N _(i)   (Equation 1)

In equation 1, J_(i) denotes inertial moment of the wheel, T_(i) denotes traction force of the wheel, B_(i) denotes an internal damping coefficient of the wheel, r denotes a radius of the wheel, τ_(i) denotes torque (force) applied to the wheel, ω_(i) denotes an angular velocity of the wheel, and μ_(s) denotes the maximum friction coefficient. Further, subscript i denotes the identification number of each wheel, and subscript l denotes the number of the wheels of the mobile robot.

Since the motion equation regarding rotation of a single wheel 300 does not relate to normal force N_(i) serving as a wheel axis, Equation 2 may be calculated.

$\begin{matrix} {{\hat{T}}_{l} = {\frac{\omega_{C}}{r\left( {s + \omega_{C}} \right)}\left\lbrack {\tau_{i} - {\left( {{J_{i}s} + B_{i}} \right)\omega_{i}}} \right\rbrack}} & \left( {{Equation}\mspace{14mu} 2} \right) \end{matrix}$

Here {circumflex over (T)}_(i) denotes estimated traction force and ω_(C) denotes the pole of an observer.

As described above, the traction force estimation unit 240 in accordance with this embodiment may estimate traction force of each wheel using Equation 1 and Equation 2 above and the detected torque, angular velocity, radius and inertia moment of the wheel.

Further, although not stated as equations, the traction force estimation unit 240 may estimate an uncertainty σ_(T) _(i) of the estimated traction force T_(i). Thereafter, the traction force estimation unit 240 may provide the estimated traction force T_(i) to the normal force estimation unit 250, the friction coefficient estimation unit 260, and the friction coefficient uncertainty estimation unit 270, and provide the estimated uncertainty σ_(T) _(i) of the traction force T_(i) to the normal force estimation unit 250 and the friction coefficient uncertainty estimation unit 270.

Referring back to FIGS. 2 and 3, the normal force estimation unit 250 estimates the normal force N_(i) (with reference to FIG. 3) applied from the ground upon which the mobile robot travels to the wheel of the mobile robot in the vertical direction e.g. The normal force estimation unit 250 may estimate the normal force N_(i) applied from the ground to the wheel using the contact angle γ_(i) between the wheel 300 of the mobile robot and the ground, estimated through the contact angle estimation unit 210, and joint pose information detected through the joint pose detection unit 220, e.g., the joint angles and joint angular velocities.

The normal force N_(i) is a component of force applied from a surface which an object contacts to the object, which is vertical to the surface. In brief, the normal force N_(i) may mean force at which the surface which an object contacts pushes the object in the direction vertical to the surface. For example, in case of an object in a stopped state placed on a flat ground, the normal force N_(i) applied in the opposite direction of gravity applied to the object and having the same intensity as the gravity cancels the gravity, thus preventing the object from coming down from the ground toward the earth's center.

The normal force N_(i) may be estimated by forming a quasi-static equilibrium equation using the traction force T_(i) of the wheel estimated through the traction force estimation unit 240, the contact angle γ_(i) between the wheel 300 and the ground estimated through the contact angle estimation unit 21, the joint angles and joint angular velocities of the mobile robot detected through the joint pose detection unit 220, and the mobile robot model, and calculating a least-squares solution of the formed quasi-static equilibrium equation. This will be described using equations below.

First, a quasi-static equilibrium equation, e.g., Equation 3, may be formed using the joint angles and joint angular velocities of the mobile robot and the mobile robot model.

$\begin{matrix} {{\begin{bmatrix} a_{1} & c_{1} & d_{1} & e_{1} \\ a_{2} & c_{2} & d_{2} & e_{2} \\ \vdots & \vdots & \vdots & \vdots \\ a_{3\; n} & c_{3\; n} & d_{3\; n} & 3_{3\; n} \end{bmatrix}\begin{bmatrix} X_{N} \\ X_{V} \\ X_{H} \\ X_{A} \end{bmatrix}} = \begin{bmatrix} {f_{1} - {b_{1}X_{T}}} \\ {f_{2} - {b_{2}X_{T}}} \\ \vdots \\ {f_{3} - {b_{3\; n}X_{T}}} \end{bmatrix}} & \left( {{Equation}\mspace{14mu} 3} \right) \end{matrix}$

In equation 3, a₁, a₂, . . . , a_(3n) and are coefficients representing contact angles, joint angles, or joint angular velocities, c₁, c₂, . . . , c_(3n), d₁, d₂, . . . , d_(3n), and e₁, e₂, . . . , e_(3n) are coefficients having values of 0, −1, or 1, and f₁, f₂, . . . , f_(3n) represent force applied to links by gravity.

Further, X_(N) denotes normal force applied to the wheel, X_(V) denotes internal force applied to a joint in the vertical direction, X_(H) denotes internal force applied to the joint in the horizontal direction, X_(A) denotes joint torque, and X_(T) denotes traction force of the wheel.

Equation 3 above may be simplified into Equation 4 below.

GX=F−BX _(T)   (Equation 4)

In Equation 4, G denotes a matrix

$\quad\begin{bmatrix} a_{1} & c_{1} & d_{1} & e_{1} \\ a_{2} & c_{2} & d_{2} & e_{2} \\ \vdots & \vdots & \vdots & \vdots \\ a_{3\; n} & c_{3\; n} & d_{3\; n} & 3_{3\; n} \end{bmatrix}$

representing the pose of the mobile robot, F denotes a matrix [f₁ f₂ . . . f_(3n)]^(T) representing the force applied to the links by gravity, and B denotes a matrix [b₁ ^(T) b₂ ^(T) b_(3n) ^(T)]^(T) representing contact angles, joint angles or joint angular velocities.

A least-squares solution of Equation 4 may be calculated as shown in equation 5.

X=G*(F−BX _(T))   (Equation 5)

In equation 5, G * is a pseudo-inverse of G corresponding to:

G*=G ^(T)(GG ^(T))⁻¹

Further, X in Equation 5 includes the normal force X_(N), the internal force X_(V) in the vertical direction, the internal force X_(H) in the horizontal direction, and the joint torque X_(A), stated in Equation 3. Therefore, the normal force estimation unit 250 may estimate normal force N_(i) applied to each wheel through Equation 5.

Further, the normal force estimation unit 250 may estimate a normal force uncertainty σ_(N) _(i) . This will be described using equations 6-8 below.

Equation 4 above may be rewritten in terms of the force F applied to the links by gravity as Equation 6 below.

F=GX+BX _(T)   (Equation 6)

Next, Equation 6 may be linearized as Equation 7 below.

GX≠−Â(γ−{circumflex over (γ)})− BX _(T) +F   (Equation 7)

In equation 7, Ā is defined for convenience of calculation, and is expressed as below.

$\overset{\_}{A}\overset{\bigtriangleup}{=}\left( {{{\frac{\partial G}{\partial\gamma_{1}}\overset{\_}{X}} + {\frac{\partial B}{\partial\gamma_{1}}\overset{\_}{X_{T}}}}{{{\frac{\partial G}{\partial\gamma_{2}}\overset{\_}{X}} + {\frac{\partial B}{\partial\gamma_{2}}\overset{\_}{X_{T}}}}{\ldots {{\frac{\partial G}{\partial\gamma_{l}}\overset{\_}{X}} + {\frac{\partial B}{\partial\gamma_{l}}\overset{\_}{X_{T}}}}}}} \right)$

Thereafter, a covariance matrix of GX may be calculated as Equation 8 below.

Σ_(X) = G** (ĀΣ_(γ) Ā ^(T) + BΣ _(X) _(T) B ^(T)) G** ^(T)   (Equation 8)

Here, Σ_(γ) and Σ_(X) _(T) denote a covariance matrix of the contact angle and a covariance matrix of the traction force. X in Σ_(X) includes the normal force X_(N), the internal force X_(V) in the vertical direction, the internal force X_(H) in the horizontal direction, and the joint torque X_(A). Therefore, Σ_(X) may include a covariance matrix of the normal force, a covariance matrix of the internal force X_(V) in the vertical direction, a covariance matrix of the internal force in the horizontal direction X_(H), and a covariance matrix of the joint torque X_(A). The covariance matrices may represent uncertainty.

As described above, the normal force estimation unit 240 may estimate uncertainty σ_(N) _(i) of the normal force through Equation 8, provide the estimated normal force N_(i) to the friction coefficient estimation unit 260 and the friction coefficient uncertainty estimation unit 270, and provide the estimated normal force uncertainty σ_(N) _(i) to the friction coefficient uncertainty estimation unit 270.

The friction coefficient estimation unit 260 receives the traction force T_(i) estimated through the traction force estimation unit 240 and the normal force N_(i) estimated through the normal force estimation unit 250, and estimates a friction coefficient μ_(i).

In general, the friction coefficient μ_(i) is a value providing proportional relations between normal force N_(i) and traction force T_(i), and may mean a degree of friction between two contacting surfaces. Traction force T_(i) is generally proportional to normal force N_(i) and at this time, a proportional constant is the frictional coefficient μ_(i). Relations between the traction force T_(i) and the normal force N_(i) may be expressed as Equation 9 below.

T_(i)=μ_(i)N_(i)   (Equation 9)

That is, the friction coefficient estimation unit 260 may estimate a friction coefficient μ_(i) by applying the traction force T_(i) estimated through the traction force estimation unit 240 and the normal force N_(i) estimated through the normal force estimation unit 250 to Equation 9. Further, the friction coefficient estimation unit 260 may provide the estimated friction coefficient μ_(i) to the friction coefficient uncertainty estimation unit 270 and the controller 290.

The friction coefficient uncertainty estimation unit 270 estimates uncertainty σ_(μ) _(i) of the friction coefficient μ_(i) estimated by the friction coefficient estimation unit 260. The friction coefficient uncertainty estimation unit 270 receives the traction force T_(i) and the traction force uncertainty σ_(T) _(i) estimated through the traction force estimation unit 240, the normal force N_(i) and the normal force uncertainty σ_(N) _(i) estimated through the normal force estimation unit 250, and the friction coefficient μ_(i) estimated through the friction coefficient estimation unit 260, and estimates the friction coefficient uncertainty σ_(μ) _(i) using equation 10.

$\begin{matrix} {\left( \frac{\sigma_{\mu_{i}}}{\mu_{i}} \right)^{2} = {\left( \frac{\sigma_{T_{i}}}{T_{i}} \right)^{2} + \left( \frac{\sigma_{N_{i}}}{N_{i}} \right)^{2}}} & \left( {{Equation}\mspace{14mu} 10} \right) \end{matrix}$

In equation 10, T_(i), σ_(T) _(i) , N_(i), σ_(N) _(i) , and μ_(i) may be provided from the traction force estimation unit 240, the normal force estimation unit 250, and the friction coefficient estimation unit 260, as described above. Therefore, the friction coefficient uncertainty σ_(μ) _(i) be estimated by applying these values to Equation 10. The friction coefficient uncertainty estimation unit 270 may provide the estimated friction coefficient uncertainty σ_(μ) _(i) to the controller 290.

The torque detection unit 280 detects the torque τ_(i) applied to the wheel 300.

In general, the torque τ_(i) applied to the wheel 300 is increased until a desired (or alternatively, a predetermined) threshold angular acceleration is detected and, when the threshold angular acceleration is detected, it is recognized that the applied torque τ_(i) is greater than torque due to the maximum friction force and the torque τ_(i) applied to the wheel 300 is gradually decreased. Thereafter, when the velocity of the wheel 300 is greatly decreased and the detected angular acceleration is less than a predetermined negative value, the torque τ_(i) applied to the wheel 300 is gradually increased again.

Thereby, a process of increasing and decreasing the torque τ_(i) applied to the wheel 300 to sense the maximum friction force is repeated, and the torque detection unit 280 may detect points of time when the torque τ_(i) is increased and decreased and provide the detected points of time to the controller 290.

The controller 290 determines the maximum friction coefficient between the wheel 300 and the ground using the estimated friction coefficient μ_(i) provided from the friction coefficient estimation unit 260, the estimated friction coefficient uncertainty σ_(μ) _(i) provided from the friction coefficient uncertainty estimation unit 270, and the torque information τ_(i) detected through the torque detection unit 280.

The estimated uncertainty σ_(μ) _(i) of the friction coefficient provided from the friction coefficient uncertainty estimation unit 270 may mean estimated uncertainty of the estimated friction coefficient μ_(i) . Further, the torque information detected through the torque detection unit 280 may mean information regarding a point of time when the torque τ_(i) applied to the wheel 300 changes from the increasing state to the decreasing state.

The controller 290 of the mobile robot may select friction coefficients from the estimated friction coefficients μ_(i) provided from the friction coefficient estimation unit 260 whose associated uncertainties σ_(μ) _(i) are less than a desired (or alternatively, a predetermined) threshold, and set the maximum friction coefficient as a friction coefficient corresponding to the point of time when the torque applied to the wheel 300 changes from the increasing state to the decreasing state, from among the selected friction coefficients. Here, the above-described threshold may be properly set by an operator.

FIG. 5 is a graph representing relations among the set maximum friction coefficient μ_(s), the estimated friction coefficients (a solid line), and the friction coefficient uncertainties (a dotted line).

Hereinafter, a friction coefficient estimation method performed in the mobile robot according to an example embodiment will be described.

FIG. 6 is a flowchart sequentially illustrating an example of a friction coefficient estimation method in accordance with an example embodiment.

Referring to FIGS. 2 and 6, the contact angle estimation unit 210 may estimate the contact angles γ_(i) between wheels 300 of the mobile robot and the ground (Operation S601). The contact angle estimation unit 210 may estimate contact angle uncertainties σ_(γ) _(i) simultaneously with the contact angles γ_(i).

The contact angle estimation unit may perform operation 601 using images acquired by cameras provided on the wheels 300 or force information detected by force sensors provided on the wheels 300, but is not limited thereto.

The joint pose detection units 220 and the wheel state variable detection units 230 detect joint pose information of the mobile robot and state variables of the wheels 300 (Operation S603). The joint pose information may include joint angles and joint angular velocities and the wheel state variables may include inertia moments, torques, radiuses and angular velocities of the wheels 300, but are not limited thereto.

The joint pose detection units 220 may detect the joint angles and joint angular velocities using inclinometers or inertial measurement units (IMU) provided on links of the mobile robot, but are not limited thereto. Further, among the wheel state variables, the inertia moments and radiuses of the wheels 300 may be predetermined, and the torques and angular velocities of the wheels 300 may be detected using encoders provided on the wheels 300.

The traction force estimation unit 240 estimates traction forces T_(i) applied to the wheels 300 using the state variables of the wheels 300 detected through Operation S603, e.g., the inertia moments, torques, radiuses and angular velocities of the wheels 300 (Operation S605). Estimation of the traction forces T_(i) may be performed using equations, and the process of estimating the traction forces T_(i) using equations has been described above and a detailed description thereof will thus be omitted. Traction force uncertainties σ_(T) _(i) may be estimated simultaneously with estimation of the traction forces T_(i).

Thereafter, the normal force estimation unit 250 estimates normal forces N_(i) applied to the wheels 300 using the contact angles estimated through Operation S601, and the joint angles and joint angular velocities detected through Operation 603 (Operation S607). The normal force estimation unit 250 may estimate the normal forces N_(i) using equations 3 to 5.

In this operation, normal force uncertainties σ_(N) _(i) may be estimated simultaneously with estimation of the normal forces N_(i). In order to estimate normal force uncertainties σ_(N) _(i) , the contact angle uncertainties σ_(γ) _(i) and the traction force uncertainties σ_(T) _(i) respectively estimated through Operation S601 and Operation S605 may be used. The normal force estimation unit 250 may estimation of the normal force uncertainties σ_(N) _(i) using equations 6 to 8.

The friction coefficient estimation unit 260 estimates friction coefficients μ_(i) between the wheels 300 and the ground using the traction forces T_(i) and the normal forces N_(i) respectively estimated through Operation S605 and Operation S607 (Operation S609).

The friction coefficient uncertainty estimation unit 270 estimates friction coefficient uncertainties σ_(μ) _(i) using the traction forces T_(i), the traction force uncertainties σ_(T) _(i) , the normal forces N_(i), and the normal force uncertainties σ_(N) _(i) , estimated through Operation S605 and Operation S607, and the friction coefficients μ_(i) estimated through Operation 609 (Operation S611).

Thereafter, the controller 290 selects friction coefficients μ_(i) having friction coefficient uncertainties μ_(μ) _(i) which are less than a desired (or alternatively, a predetermined) threshold, from among the friction coefficients μ_(i) estimated through Operation 609, and sets the maximum friction coefficient μ_(s) as a friction coefficient μ_(i) corresponding to a point of time when the torque applied to the wheel 300 changes from the increasing state to the decreasing state, from among the selected friction coefficients μ_(i) (Operation S613).

After setting the maximum friction coefficient μ_(s), the controller give driving instructions to a driver to move the moving units 300 based on the maximum friction coefficient μ_(s), thus improving motion safety and traction force control performance (Operation S615).

The mobile robot may detect characteristics of the ground by estimating friction coefficients between wheels of the mobile robot and the ground upon which the mobile robot travels, so as to be used in ground classification, and give driving instructions in consideration of the detected ground characteristics, thus improving motion safety and traction force control performance and predicting traversability.

For example, if it is estimated that a friction coefficient is low, the ground may be determined to be slippery. Therefore, the mobile robot may accelerate and decelerate so as to improve motion safety, and characteristics of the ground may be detected and thus traversability of the mobile robot on the ground may be predicted.

Further, the mobile robot may estimate the friction coefficients μ_(i) using values measured by sensors provided on the mobile robot, and, therefore, may not require a separate device to measure the friction coefficients μ_(i), thus being effective in terms of cost as well as preventing complication of the structure of the mobile robot.

In the above-described example embodiments, some of the elements of the main body of the mobile robot may be implemented as a ‘module’. The ‘module’ may be software-based components or hardware components, such as a one or more Central Processing Units (CPUs), digital signal processors (DSPs), field programmable gate array (FPGA) or an application specific integrated circuit (ASIC), and the module may perform certain functions. However, the module is not limited to software or hardware. The module may be configured so as to be placed in a storage medium which may perform addressing, or to execute one or more processors.

For example, the modules may include components such as software components, object-oriented software components, class components, and task components, processes, functions, attributes, procedures, subroutines, segments of program codes, drivers, firmware, microcodes, circuits, data, databases, data structures, tables, arrays, and variables. Functions provided from the components and the modules may be combined into a smaller number of components and modules, or be separated into additional components and modules. Moreover, the components and the modules may execute one or more CPUs.

Some of the example embodiments may be implemented through a non-transitory medium including computer readable codes/instructions to control at least one processing element of the above-described embodiment, for example, a computer readable medium. Such a medium may correspond to a medium/media which may store and/or transmit the computer readable codes.

The computer readable codes may be recorded in a medium or be transmitted over the Internet. For example, the medium may include a ROM, a RAM, a CD-ROM, a magnetic tape, a floppy disc, an optical recording medium, or a carrier wave such as data transmission over the Internet. Further, the medium may be a non-transitory computer readable medium. Since the medium may be a distributed network, the computer readable code may be stored, transmitted and executed in a distributed manner. Further, for example, the processing element may include a processor or a computer processor, and be distributed and/or included in one device.

Although a few example embodiments have been shown and described, it would be appreciated by those skilled in the art that changes may be made in these example embodiments without departing from the principles and spirit of the example embodiments, the scope of which is defined in the claims and their equivalents. 

What is claimed is:
 1. A mobile robot configured to move on a ground, the mobile robot comprising: a contact angle estimation unit configured to estimate contact angles between wheels of the mobile robot and the ground and uncertainties associated with the contact angles; a traction force estimation unit configured to estimate traction forces applied to the wheels and uncertainties associated with the traction forces using state variables of the wheels; a normal force estimation unit configured to estimate normal forces applied to the wheels and uncertainties associated with the normal forces using the contact angles, the contact angle uncertainties, the traction forces, and joint pose information; a friction coefficient estimation unit configured to estimate friction coefficients between the wheels and the ground using the traction forces and the normal forces; a friction coefficient uncertainty estimation unit configured to estimate uncertainties of the friction coefficients using the traction forces, the traction force uncertainties, the normal forces, the normal force uncertainties, and the friction coefficients; and a controller configured to determine a maximum friction coefficient from among the friction coefficients such that the maximum friction coefficient has an associated one of the friction coefficient uncertainties that is less than a threshold and at a point of time when the torque applied to the wheels changes from an increasing state to a decreasing state.
 2. The mobile robot according to claim 1, further comprising: joint pose detection units configured to detect the joint pose information; and wheel state variable detection units configured to detect the state information of the wheels.
 3. The mobile robot according to claim 2, wherein the joint pose detection units are inclinometers or inertial measurement units (IMU).
 4. The mobile robot according to claim 2, wherein the wheel state variable detection units include encoders.
 5. The mobile robot according to claim 1, wherein the joint pose information includes joint angles and joint angular velocities.
 6. The mobile robot according to claim 1, wherein the state information of the wheels includes the torques applied to the wheels, angular velocities, radiuses and inertia moments of the wheels.
 7. The mobile robot according to claim 1, wherein the traction force estimation unit is configured to estimate the traction forces by applying the detected wheel state variables to a model of the wheels.
 8. The mobile robot according to claim 1, wherein the normal force estimation unit is configured to estimate the normal forces by, forming a quasi-static equilibrium equation using the traction forces, the contact angles, the joint angles, the angular velocities, and a mobile robot model; and calculating a least-squares solution of the formed quasi-static equilibrium equation.
 9. The mobile robot according to claim 1, wherein the contact angle estimation unit is configured to estimate the contact angles and the contact angle uncertainties using images acquired through cameras mounted on the wheels.
 10. The mobile robot according to claim 1, wherein the contact angle estimation unit is configured to estimate the contact angles and the contact angle uncertainties using force information detected through force sensors mounted on the wheels.
 11. A friction coefficient estimation method comprising: estimating contact angles between wheels of a mobile robot and a ground and uncertainties associated with the contact angles; detecting joint poses of the mobile robot and state variables of the wheels; estimating traction forces applied to the wheels using the state variables of the wheels; estimating uncertainties associated with the traction forces; estimating normal forces applied to the wheels using the contact angles, the contact angle uncertainties, the joint poses, the traction forces, and the traction force uncertainties; estimating uncertainties associated with the normal forces; estimating friction coefficients between the wheels and the ground using the traction forces and the normal forces; estimating uncertainties associated with the friction coefficients using the traction forces, the traction force uncertainties, the normal forces, the normal force uncertainties, and the friction coefficients; and determining a maximum friction coefficient from among the friction coefficients such that the maximum friction coefficient has an associated one of the friction coefficient uncertainties that is less than a threshold and at a point of time when the torque applied to the wheels changes from an increasing state to a decreasing state.
 12. The friction coefficient estimation method according to claim 11, wherein the estimating contact angles and the contact angle uncertainties is performed using images acquired through cameras mounted on the wheels.
 13. The friction coefficient estimation method according to claim 11, wherein the estimating contact angles and the contact angle uncertainties is performed using force information detected through force sensors mounted on the wheels.
 14. The friction coefficient estimation method according to claim 11, wherein the estimating traction forces is performed by applying the state variables of the wheels to a model of the wheels.
 15. The friction coefficient estimation method according to claim 11, wherein the estimating normal forces is performed by, forming a quasi-static equilibrium equation using the traction forces, the contact angles, the joint angles, the angular velocities, and a mobile robot model; and calculating a least-squares solution of the formed quasi-static equilibrium equation.
 16. A mobile robot configured to move on a ground, the mobile robot comprising: a moving unit configured to move the mobile robot with respect to the ground; and a controller configured to control a rate of acceleration and deceleration of the moving of the mobile robot based on a friction coefficient between the moving unit and the ground.
 17. The mobile robot of claim 16, wherein the friction coefficient is a maximum friction coefficient and controller is configured to estimate the maximum friction coefficient between the moving unit and the ground by, estimating friction coefficients and uncertainties associated therewith; selecting a plurality of the estimated friction coefficients whose corresponding uncertainties are less than a threshold; and selecting as the maximum friction coefficient the estimated friction coefficient that corresponds to a time when a torque applied to the moving unit changes from an increasing state to a decreasing state.
 18. The mobile robot of claim 17, wherein the moving unit includes wheels that are configured to transport the mobile robot through rotation of the wheels, and controller is configured to estimate the friction coefficients by, estimating contact angles between the wheels and the ground and uncertainties associated with the contact angles; estimating traction forces applied to the wheels and uncertainties associated with the traction forces using state variables of the wheels; estimating normal forces applied to the wheels and uncertainties associated with the normal forces using the contact angles, the contact angle uncertainties, the traction forces, and joint pose information; and estimating the friction coefficients between the wheels and the ground using the traction forces and the normal forces.
 19. The mobile robot of claim 18, wherein the controller is configured to, estimate the contact angles using one of images acquired through cameras and force information detected by force sensors, and estimate the traction forces by applying the state variables of the wheels to a model of the wheels.
 20. The mobile robot of claim 19, wherein the state variables indicate at least an inertia, moment, torque, radius and angular velocity of the wheels. 